4
תגובות
טריק מגניב עם laravel
פתח
Splash
,
אני בונה בימים אלה את המערכת הראשונה שלי ב laravel ובמהלך הפיתוח התקשתי לממש את החלק של השפה באתר.
הייתי צריך פתרון שעונה על הצרכים האלה -
1.שלא יהיה צורך לשכפל נתיבים על מנת ליצור נתיב חדש.[נתיב לכל שפה]
2.ששפת הברירת מחדל [עברית במקרה שלי] לא תצוין בכתובת כך ש mysite.com לדוגמא יפנה לעברית
3.שהשפה תצויין בכתובת ולא ע"פ עוגיות \ כל שיטה אחרת
4.שכתובת השפה תיהיה ראשונה ותדמה תיקיה. לדוגמא mysite.com/en יהיה באנגלית
אחרי שישבתי על זה כמה שעות גיליתי שניתן לדחוף ל prefix null ולמעשה הוא יוותר על ה prefix.
כעט אני יכול ליצור עמודים שיכולים להיות מתורגמים ועמודים ספציפים שלא יתורגמו לשפות האחרות.
במקרה הזה ספציפית אני רוצה לתמוך רק בשתי שפות - עברית ואנגלית ולכן הקוד בסגנון הזה -
במידה ולמישהו יש הצעות יותר נורמאליות למימוש אשמח לשמוע,אני משתמש בזה לבנתיים משום שזה הפתרון הנורמאלי היחידי שהצלחתי למצוא.
כל שאר הדברים דרשו ממני לכלול כל מיני ספריות עמוסות בקודים בשביל דבר שאמור להיות מאוד פשוט
הייתי צריך פתרון שעונה על הצרכים האלה -
1.שלא יהיה צורך לשכפל נתיבים על מנת ליצור נתיב חדש.[נתיב לכל שפה]
2.ששפת הברירת מחדל [עברית במקרה שלי] לא תצוין בכתובת כך ש mysite.com לדוגמא יפנה לעברית
3.שהשפה תצויין בכתובת ולא ע"פ עוגיות \ כל שיטה אחרת
4.שכתובת השפה תיהיה ראשונה ותדמה תיקיה. לדוגמא mysite.com/en יהיה באנגלית
אחרי שישבתי על זה כמה שעות גיליתי שניתן לדחוף ל prefix null ולמעשה הוא יוותר על ה prefix.
כעט אני יכול ליצור עמודים שיכולים להיות מתורגמים ועמודים ספציפים שלא יתורגמו לשפות האחרות.
במקרה הזה ספציפית אני רוצה לתמוך רק בשתי שפות - עברית ואנגלית ולכן הקוד בסגנון הזה -
$locale = Request::segment(1);
if ($locale == 'en') {
App::setLocale($locale);
} else {
$locale = null;
}
Route::group(array('prefix' => $locale), function() {
// דפים שיתורגמו לכל השפות
});
//דפים שלא יתורגמו לשפות אחרות
if ($locale == 'en') {
App::setLocale($locale);
} else {
$locale = null;
}
Route::group(array('prefix' => $locale), function() {
// דפים שיתורגמו לכל השפות
});
//דפים שלא יתורגמו לשפות אחרות
במידה ולמישהו יש הצעות יותר נורמאליות למימוש אשמח לשמוע,אני משתמש בזה לבנתיים משום שזה הפתרון הנורמאלי היחידי שהצלחתי למצוא.
כל שאר הדברים דרשו ממני לכלול כל מיני ספריות עמוסות בקודים בשביל דבר שאמור להיות מאוד פשוט
4 תשובות
זה בכלל לא עונה על המטרה של האתר,נתחיל מזה שהשירות שלהם עולה כסף ככה שאתה בכלל לא יכול לדעת מה ההוצאות של העסק בעקבות השימוש בשירות.
בנוסף המטרה של האתר היא תדמית לעסק [העיסוק המרכזי בארץ ועוד מספר פרויקטים קטנים בחו"ל].השירות לא יכול לתרגם משפטים שלמים עם דקדוק ככה שהפתרון הזה ממש לא יעיל ולמעשה מוציא שם רע לעסק.
איזה בן אדם מארצות הברית\אירופה ירצה להעסיק מישהו שיכולת התקשורת שלו באנגלית כל כך נמוכה ?
ענה
ArielSafari
ב
03 ליוני 2014
#
בבקשה:
Laravel Localization: http://www.youtube.com/playlist?list=PLfdtiltiRHWE11Rgcj_W8Hw0p-mLi2CNi